import threading
from collections import deque

class Logger(threading.Thread):
	def __init__(self, tag):
		threading.Thread.__init__(self)
		self.logfile = open('%s' % tag, 'w')
		self.queue = deque()

	def add_queue(self, message, source):
		"""add_queue("dit is het bericht dat je wilt schrijven in de log", "waar het vandaan komt")
		voorbeeld: logger.add_queue("client succesfully removed", "MessageHandler") """
		self.queue.append((message, source))

	def run(self):
		while True:
			try:
				message, source = self.queue.popleft()
				# schrijven naar file hier
				self.logfile.write("%s: %s" % (source, message))
			except IndexError:
				pass
